sql注入

  1. 靶场环境搭建

环境环境搭建服务器软件是phpstudy下载地址https://www.xp.cn/
靶场是sqli-labs下载地址是https://github.com/Audi-1/sqli-labs
配置sqli-labs的sql密码
在这里插入图片描述

用php5和mysql5.7
在这里插入图片描述

成功
在1这里插入图片描述

  1. 注入的常用的函数
1
2
3
select system_user();      系统用户名 
select user();   当前数据库用户名
select current_user();   当前用户名
1
select  database();  返回当前使用的数据库

在这里插入图片描述

1
2
3
4
select	version() mysql;   数据库版本
select @@datadir; 数据库路径
select @@basedir; 数据库安装路径
select @@global.version_compile_os; 操作系统的信息
  1. 寻找注入点
    无特定目标
1
inurl:php?id=

在这里插入图片描述
有特定目标

1
inurl:php?id=site:xxxx.com

在这里插入图片描述

检查注入点

  1. 手工简单识别
1
2
3
and 1=1/ and 1=2
and"1=1/and"1=2
and 1 like 1/and 1 like 2
  1. 工具识别
1
2
sqlmap -m   要指定的文件     多个目标URL保持到文件里-m就会用文件里的
sqlmap --craw sqlmap对目标网站进行爬取然后依次进行测试

mysql手动注入

  1. mysql结构
    mysql内库
    在这里插入图片描述
  2. 核心原理:
    MySq内置的 Information schema库,它功能强大,是我们进行MySq注入的基石!
    通过 information schema我们可以窥透整个 MySQL的运行情况,也可以查看到数据库中所有的数据信息。
  1. 查询数据库核心语法
功能名称 查询语句
查库 select schema_name from information_schema.schemata
查表 select table_name from information_schema.tables where table_schema=’库名’
查列 select column_name from information_schema.columns where table_name=’列名’;
查数据 select 列名 from 库名.表名

演示

1.查库
在这里插入图片描述
2.查表
在这里插入图片描述
3.查列
在这里插入图片描述
可以不输入单引号
比如'users'列名转换成哈希7573657273
步骤
在这里插入图片描述
在这里插入图片描述
然后在语句里面输入0x和上面生成出来的哈希
意思
0x是告诉我是16进行的
在这里插入图片描述

  1. 提示

提示1:
所有类型的sql注入,都是基于査库、表、列语句

提示2:
sql注入,都是基于査库、表、列语句
査询的场緊:可利用limit限定返回的数置及位置,依次査询
回显数据的场聚:concat链接多个数据成为一条返回结果

  1. limit函数
    上面的这个limit,下面是他的演示,就是叫修改就可以查看其他的行
    在这里插入图片描述
  2. group_concat()函数
    他可以叫多个列组合到一个里面,应为sql注入,可能输出的有限制,
    找个函数就是,叫内容都输出的一个里面

在这里插入图片描述

提示3:.
在一些场景,想要快速获取数据,需要接住工具,如:burp

靶场是sqli-labs进行手动sql注入1-4到这个地方:Sqli-labs Less1-4关卡